-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for UNIV and RF mTCA EVR models #63
Add support for UNIV and RF mTCA EVR models #63
Conversation
f5dbb33
to
1a33737
Compare
evrMrmApp/src/drvemCML.cpp
Outdated
,mult(f==formFactor_CPCIFULL ? 40 : 20) // CML word length | ||
,wordlen(f==formFactor_CPCIFULL ? 2 : 1)// # of 32-bit dwords used to store 1 CML word | ||
// 40 bits fit in 2 dwords, 20 bits fit in 1 | ||
// CML word length |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was already solved in the commit 1e82b86
Hi, the initial conversation took place: #89 |
I)The issue I found was related to the way we use CLKA/B within the mTCA-EVR-300U MTCA backplane (the patch was in our internal repo). @ZanMaticPratnemer, please check: #94 . We deleted lines 288-292, you actually modified those in your PR. Then the .substitution config looks like: #95 and it works fine. Tested over a few years already. Could you confirm if this solution works for you? |
Hi, the modification of those lines were purely visual on my end, possibly even automated by my formatter. So yeah that works for me, maybe @zioven has some other comments. |
II)mTCA-EVR-300mTCA-EVR-300 with IFP is discontinued and the code in line: https://github.com/epics-modules/mrfioc2/pull/63/files#diff-ec09296cb3ed989142d2d3a7eeb1fda890d403e91250f9328befd76e01fc5217R215 Your ImplementationYour implementation is cleaner so my proposal is to go for it accordingly: mtca_evr_model variable
|
@jerzyjamroz Regarding I): I will be testing this with our setup and determine how the changes to TCLKA and TCLKB work on our system Regarding II): I can rebase the changes to the master (provide a new pull request) and we can open up the discussion what is best approach and where we see the challenges/improvements. |
2d49873
to
34076cd
Compare
34076cd
to
cd22577
Compare
I have rebased the pull request to the latest master. In the last commit, I have updated both 300U and 300RF substitutions file, so that they are backwards compatible:
Please review and comment. |
cd22577
to
02ae593
Compare
All MTCA EVRs have the CML/GTX outputs for TCLKA and TCLKB mapped to Universal Output 16 and 17 (chapters 3.7. and 3.8.) and CML/GTX logic block 0 and 1. mTCA-EVR-300RF has additional high resolution outputs mapped as: - UNIV2 : mapped to Universal Output 18 and CML/GTX logic block 2 - UNIV3 : mapped to Universal Output 19 and CML/GTX logic block 3 - GTX SFP: mapped to Universal Output 20 and CML/GTX logic block 4 - +-CML : mapped to Universal Output 21 and CML/GTX logic block 5
02ae593
to
4c5f21f
Compare
@zioven I only wonder why CLKA/B works fine for mtca-evr-300u without this:
What was not working for you that you decided to add it? |
I had reports of missing objects
NOTE: Errors above occurred when I loaded the |
I use the actual master this moment and the objects are fine:
@zioven , try this file: |
@jerzyjamroz According to Jukka's document, TCLKA and TCLKB outputs are mapped as following:
In current mrfioc2/evrMrmApp/src/drvemSetup.cpp Lines 176 to 194 in 277abf2
With the addition of the
In my opinion it doesn't make sense to create Based on this conclusion, I have added a separate creation of objects (for TLCKA and TCLKB) for mTCA-EVR-300RF* details(additional 2 on the front panel , that are GTX and linked to `Universal Output 18` and `Universal Output 19` are also created separately) |
@zioven , I got your point, you are right it is a cleaner solution. I just noticed that you found the reverse solution for the
but both implementations can be used. |
So far only IFB model is supported. This pull request adds support for UNIV and RF models. If no model is selected, the default one is picked (IFB).